package aufgabe_02;

import java.io.*;

class Person {
	private String name;
	private String vorname;

	public Person() {
		try {
			byte[] eingabe = new byte[80];
			System.out.print("\nGeben Sie den Nachnamen ein: ");
			System.in.read(eingabe);
			name = new String(eingabe);
			System.out.print("\nGeben Sie den Vornamen ein: ");
			System.in.read(eingabe);
			vorname = new String(eingabe);
		} catch (IOException e) {
			System.out.println(e.toString());
			System.exit(1);
		}
	}

	public void print() {
		System.out.print("\nNachname: " + name);
		System.out.print("\nVorname: " + vorname);
	}
}

public class Studiosus extends Person {
	private String matrikelnummer;

	public Studiosus() {
		super();
		try {
			byte[] eingabe = new byte[80];
			System.out.print("\nGeben Sie die Matrikelnummer ein: ");
			System.in.read(eingabe);
			matrikelnummer = new String(eingabe);
		} catch (IOException e) {
			System.out.println(e.toString());
			System.exit(1);
		}
	}

	public void print() {
		super.print();
		System.out.print("\nMatrikelnummer: " + matrikelnummer);
	}

	public static void main(String[] args) {
		System.out.print("\nStart des Programms");
		System.out.print("\n\nPerson");
		Person p = new Studiosus(); // eine Referenz kann auf
		// ein Objekt einer abgelei-
		// teten Klasse zeigen
		System.out.print("\n\nAusgabe\n");
		p.print(); // Es wird die Methode nicht der Referenz, sondern des
					// Objekts der abgeleiteten Klasse aufgerufen
	}

}
